package com.nuc.workflowserver.common.service;

import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 公共基础Service类
 * @param <T>
 */
public interface BaseService<T> {

    /**
     * 分页查询数据
     * @param t
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<T> selectPage(T t, Integer pageNum, Integer pageSize);

    /**
     * 不分页获取数据
     * @param t
     * @return
     */
    List<T> selectList(T t);

    /**
     * 根据注解查询数据
     * @param t
     * @return
     */
    T selectByPrimary(T t);

    /**
     * 更新数据
     * @param t
     * @return
     */
    Integer update(T t);

    /**
     * 删除数据
     * @param t
     * @return
     */
    Integer delete(T t);

    /**
     * 新增数据
     * @param t
     * @return
     */
    Integer insert(T t);
}
